Network systems, such as the internet and, more specifically, the World Wide Web (“WWW”), utilize servers to process requests for information. However, with increased popularity, these network systems are gradually becoming more overloaded since the number of requests for information has been sharply increasing. When a server becomes overloaded, it may be unable to receive new requests, may be slow to process the requests it has already received, and may yield server errors.
On the WWW, such overloading can be extremely detrimental. As web browsers have become the primary interface for access to many network and server services, more businesses have begun using the WWW to market their products or for advertising purposes. To these businesses, prompt and efficient access to their sites is extremely desirable, as it is well known that WWW users tend to avoid sites which load slowly or yield server errors.
However, when a popular web page is hosted by a single computer or server, the internet traffic to the computer can be overwhelming. To address this situation, a number of server-based solutions have been proposed and/or implemented to attempt to ensure that Internet services remain available, scalable and well-balanced. One of the most popular solutions has been the use of load balancing, which involves distributing requests among servers (e.g., different servers on a WWW site) in order to ensure that any one server does not become unduly burdened.
One conventional load balancing technique involves the use of a domain name server (hereinafter “DNS”). This device is responsible for resolving uniform resource locators or “URLs” (e.g., “www. .com”) to specific IP addresses (e.g., 111.222.111.222). In this regard, a Web site having several servers may operate under a single URL, although each server is assigned a different IP address. It is up to the DNS to determine which server to route a web user to when a request is made. For example, a round-robin DNS performs load balancing by routing requests to these servers in sequential rotation based on their IP addresses.
When a web site has several servers operating under the same URL, those extra servers are often called “proxy” or “mirror” servers. The proxy server stores exactly the same web site information found in the originating server. Thus, when a user makes a request to visit a website that uses a proxy server, the user will see the same exact website whether or not the user is visiting the proxy server or the original server.
As the need for proxy services has increased, some companies have begun to operate their own proxy networks for the purpose of delivering content for certain subscriber WWW sites. However, the agreements these proxy network providers have with the subscriber WWW sites is generally long-term in nature. Thus, the proxy networks are generally configured for the maximum expected traffic at the subscribed WWW sites and there is often unused capacity on the proxy network being wasted. What is needed is a method to let the proxy network dynamically sell the extra capacity so that it is not wasted.